package cn.fl.risk.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.risk.dto.RskPrdSignLogDTO;
import cn.fl.risk.vo.RskPrdSignLogVO;

import java.util.ArrayList;
import java.util.List;

/**
* @Description: 设备风险标记记录表 转换器
* VO是客户端传递数据到服务端进行转换的数据
* VO转换数据变成DTO传递到服务端
* VO不能在服务端出现
*/
public class RskPrdSignLogVOTransform {


   /**
    * DTO 转  VO
    * @param dto RskPrdSignLogDTO
    * @return RskPrdSignLogVO
    */
   public static RskPrdSignLogVO toVO(RskPrdSignLogDTO dto) {
       RskPrdSignLogVO vo = null;
       if (dto != null) {
           vo = new RskPrdSignLogVO();
           vo.setId(dto.getId());
           vo.setPrjPrdDtlId(dto.getPrjPrdDtlId());//项目产品明细ID
           vo.setPaySchId(dto.getPaySchId());//支付表ID
           vo.setPaySchNo(dto.getPaySchNo());//支付表号
           vo.setVin(dto.getVin());//车架号(VIN)
           vo.setSignResCd(dto.getSignResCd());//标记原因 1.法律纠纷 2.在押非我司 3.未上牌 4.重大出险 5.拼装车 6.非标车
           vo.setSignRem(dto.getSignRem());//备注
           vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
           vo.setCrtUsrNm(dto.getCrtUsrNm());//创建者名称
           vo.setMdfUsrNm(dto.getMdfUsrNm());//修改者名称
           vo.setLsDt(dto.getLsDt());
           vo.setPrdStsCd(dto.getPrdStsCd());
           vo.setPrjTypCd(dto.getPrjTypCd());
           vo.setBuOrgCd(dto.getBuOrgCd());
           vo.setSignResType(dto.getSignResType());//标记类型
           vo.setSignResTypeNm(dto.getSignResTypeNm());//标记类型名称

           vo.setCrtTm(dto.getCrtTm());//创建时间
           vo.setCrtUsrId(dto.getCrtUsrId());//创建人
           vo.setMdfTm(dto.getMdfTm());//修改时间
           vo.setMdfUsrId(dto.getMdfUsrId());//修改人
       }
       return vo;
   }

   /**
    * VO 转 DTO
    * @param vo RskPrdSignLogVO
    * @return RskPrdSignLogDTO
    */
   public static RskPrdSignLogDTO toDTO(RskPrdSignLogVO vo) {
       RskPrdSignLogDTO dto = null;
       if (vo != null) {
           dto = new RskPrdSignLogDTO();
           dto.setId(vo.getId());
           dto.setPrjPrdDtlId(vo.getPrjPrdDtlId());//项目产品明细ID
           dto.setPaySchId(vo.getPaySchId());//支付表ID
           dto.setPaySchNo(vo.getPaySchNo());//支付表号
           dto.setVin(vo.getVin());//车架号(VIN)
           dto.setSignResCd(vo.getSignResCd());//标记原因 1.法律纠纷 2.在押非我司 3.未上牌 4.重大出险 5.拼装车 6.非标车
           dto.setSignRem(vo.getSignRem());//备注
           dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
           dto.setCrtUsrNm(vo.getCrtUsrNm());//创建者名称
           dto.setMdfUsrNm(vo.getMdfUsrNm());//修改者名称
           dto.setLsDt(vo.getLsDt());
           dto.setPrdStsCd(vo.getPrdStsCd());
           dto.setPrjTypCd(vo.getPrjTypCd());
           dto.setBuOrgCd(vo.getBuOrgCd());
           dto.setSignResType(vo.getSignResType());//标记类型
           dto.setSignResTypeNm(vo.getSignResTypeNm());//标记类型名称

           dto.setCrtTm(vo.getCrtTm());//创建时间
           dto.setCrtUsrId(vo.getCrtUsrId());//创建人
           dto.setMdfTm(vo.getMdfTm());//修改时间
           dto.setMdfUsrId(vo.getMdfUsrId());//修改人
       }
       return dto;
   }

   /**
    * DTO集合 转 VO集合
    * @param list List<RskPrdSignLog>
    * @return List<RskPrdSignLogDTO>
    */
   public static List<RskPrdSignLogVO> toVOList(List<RskPrdSignLogDTO> list) {
       List<RskPrdSignLogVO>  voList = new ArrayList<RskPrdSignLogVO>();
       if(CollectionUtils.isNotEmpty(list)){
           for (RskPrdSignLogDTO dto : list) {
               voList.add(toVO(dto));
           }
       }
       return voList;
   }

   /**
    *  VO集合 转 DTO集合
    * @param list List<RskPrdSignLogVO>
    * @return List<RskPrdSignLogDTO>
    */
   public static List<RskPrdSignLogDTO> toDTOList(List<RskPrdSignLogVO> list) {
       List<RskPrdSignLogDTO>  dtoList = new ArrayList<>();
       if(CollectionUtils.isNotEmpty(list)){
           for (RskPrdSignLogVO vo : list) {
               dtoList.add(toDTO(vo));
           }
       }
       return dtoList;
   }
}
